home *** CD-ROM | disk | FTP | other *** search
/ WINMX Assorted Textfiles / Ebooks.tar / Text - Tech - Hacking - How to Hack (TXT, RTF).zip / BEGGIN2.TXT < prev    next >
Text File  |  1997-11-21  |  4KB  |  130 lines

  1.  
  2.                                   Cracking for the beginner - Part two 
  3.  
  4.  
  5.                                             by Y0SHi
  6.  
  7.                                             06/12/97
  8.                                             mm/dd/yy
  9.  
  10. In part two of this beginners cracking tutorial, I examine one of Lord Caligo's own creations; try_me.com. This file was
  11. altogether not too difficult, and can be found on Lord Caligo's website. 
  12.  
  13.                                        And now, the cracking! 
  14.  
  15.  
  16. Ok, the first thing I did was to dissassemble the program with Sourcer. The listing looks like this: 
  17.  
  18.                 in      al,21h                  ; port 21h, 8259-1 int
  19. IMR
  20.                 xor     cx,cx                   ; Zero register
  21.                 mov     bx,12Ah
  22.                 mov     dx,16Ch
  23.                 call    sub_1
  24.                 call    sub_3
  25.                 call    sub_4                   ; Sub does not return
  26. here
  27. loc_1:
  28.                 inc     ch
  29. loc_2:
  30.                 int     21h                     ; DOS Services
  31. ah=function 00h
  32.                                                 ;  terminate, cs=progm
  33. seg prefx
  34.                 jmpn    loc_3
  35.                 db       31h, 32h, 33h
  36. sub_1           proc    near
  37.                 or      al,2
  38.                 retn
  39. sub_1           endp
  40. sub_2           proc    near
  41.                 and     al,0FDh
  42.                 retn
  43. sub_2           endp
  44. sub_3           proc    near
  45.                 cmp     al,0AAh
  46.                 jne     loc_4                   ; Jump if not equal
  47.                 retn
  48. loc_3:
  49.                 inc     cl
  50.                 inc     bx
  51.                 cmp   ch,3
  52.                 je      loc_5                   ; Jump if equal
  53.                 cmp     al,[bx]
  54.                 je      loc_1                   ; Jump if equal
  55.                 call    sub_5
  56.                 jmpn    loc_7
  57. loc_4:
  58.                 mov     dx,164h
  59.                 jmpn    loc_6
  60. loc_5:
  61.                 mov     dx,offset data_2        ; ('')
  62. loc_6:
  63.                 mov     ah,9
  64.                 int     21h                     ; DOS Services
  65. ah=function 09h
  66.                                                 ;  display char string at
  67. ds:dx
  68. loc_7:
  69.                 int     20h                     ; DOS program terminate
  70. sub_3           endp
  71. sub_4:
  72.                 out     21h,al                  ; port 21h, 8259-1 int
  73. comands
  74.  
  75. sub_5           proc    near
  76.                 cmp     al,0Dh
  77.                 jne     loc_2                   ; Jump if not equal
  78.                 jmp     short loc_4
  79. sub_5           endp
  80.  
  81.                 db      0C3h
  82.                 db      0Ah, 0Dh, 'false$'
  83.                 db      ' - TRY*ME v1.00 '
  84. copyright       db      '(c) by Lord Caligo - 
  85.  
  86. In the above code, basically we see that in loc_3, ch is compared with 3, and
  87. if they are equal, data_2 ("right") is put into dx and then is printed, after,
  88. the program is terminated with int 20. So, all we really have to do is change
  89. loc_3 to read jmp loc_5 (actually, we'd have to chane loc_5 to some sort of
  90. memory location). So.... the crack for try_me.com:
  91.  
  92.   search for:  the mnemonics for je loc_5 (7516)
  93. replace with:  the mnemonics for jmp loc_5 (EB1C)
  94.  
  95.  
  96.  
  97.                                             WTF???
  98.  
  99.  
  100.  
  101. It seems that when we modified the program, no longer is the prompt for the
  102. password shown; the password is automatically right, you don't have to enter
  103. anything! Tres bizzare! (I'm not french; this is appropriate though. I am
  104. the only American cracker I know)
  105.  
  106.  
  107.                                    Why I chose to accept this crack
  108.  
  109.  
  110.  
  111. The reason I didn't go back and alter this crack to ask for a password is
  112. that if you've ever downloaded a cracked password crippled game, you notice
  113. that most of the time you don't have to enter a password anyway, the cracker
  114. did a good job. So I thought "What the hell, no one wants to enter a password anyway".
  115.  
  116.  
  117.                                         Contacting the Author
  118.  
  119.  
  120.  
  121. To contact me on IRC, DON'T look for Y0SHi, this is some stupid bot for
  122. y0shi.paradise.com (no, that's not my web page). Look for YOSHi on EfNet.
  123.  
  124.  
  125. Email: gargos@juno.com
  126.  
  127. Contacting Lord Caligo: caligo@lords.com
  128.  
  129.  
  130.